
$(function(){
  // 封装分页
  /**
   * 
   * @param {object} params 
   * @example {
   *    categoriesId ：分类的id
   *    status: 状态
   *     pageIndex: 获取第几页
   *     pageSize: 页容量
   * }
   */
  function getPostData(params){
    $.post('/getPostsPage',params,(res)=>{
      // console.log(res);
     if(res.code == 200){
       let html = template('tp',res.data);
       $('tbody').html(html);
       initPagenation(params.pageIndex,res.maxPage);
     };
    });
  }
getPostData({
  categoriesId: 'all',
  status: 'all',
  pageIndex: 1,
  pageSize : 10,
});

  function initPagenation(currentIndex,maxPage){
      // 生成分页结构
  // 当前页
  // let currentIndex = 10;
  // let maxPage = 11;
  // 按钮的个数
  let buttonCount = 5;
  // 按钮的开头
  let start = currentIndex - Math.floor((buttonCount - 1)/2);
  // 为了防止负数
  if(start <= 1){
    start = 1;
  }
  // 算出结尾
  let end = start + (buttonCount -1);
  if(end >= maxPage){
    end = maxPage;
    // 从新算出按钮
    start = end - (buttonCount-1);
    // 为了防止页码数不够5
    if(start <= 1){
      start = 1;
    }
  }
  // 从开头到结尾生成多个按钮
  let html = '';
  if(currentIndex != 1){
    html = `<li class="page-item" ><a data-index="${currentIndex-1}" class="page-link" href="javascript:void(0)">上一页</a></li>`;
  };
  for(let i=start; i<=end; i++){
    if(i == currentIndex){
      html += `<li class="page-item active"><a data-index="${i}" class="page-link" href="javascript:void(0)">${i}</a></li>`;
    
    }else{
      html += `<li class="page-item"><a data-index="${i}" class="page-link" href="javascript:void(0)">${i}</a></li>`;
    }
  }
    if(currentIndex !== maxPage){
      html += `<li class="page-item" ><a data-index="${currentIndex+1}" class="page-link" href="javascript:void(0)">下一页</a></li>`;
    }
    $('.pagination').html(html);
  };

// 点击分页

$('.pagination').on('click','.page-link',function(){
   let pageIndex = parseInt($(this).attr('data-index'));
  //  console.log(pageIndex)
   let pageSize = 10;
   let categoriesId = $('#classify').val();
   let status = $('#status').val();
  getPostData({categoriesId,status,pageIndex,pageSize});

});
// 删除
  let delId = null;
  let delTr = null;
$('tbody').on('click','.btn-danger',function(){
  delTr = $(this).parents('tr');
  delId = delTr.attr('data-id');
  console.log(delId);
$('#modelId').modal();
});
$('#delId').on('click',function(){
  $('#modelId').modal('hide');
  $.get('/delpostsById',{id:delId},(res)=>{
    // console.log(res);
    if(res.code == 200){
      delTr.remove();
    }
  });

});
  // 获取所有分类
$.get('/getCategories',(res)=>{
  // console.log(res);
  if(res.code == 200){
    let html = `<option value="all">所有分类</option>`;
    res.data.forEach((e)=>{
      // console.log(e)
      html += `<option value="${e.id}">${e.name}</option>`
      $('#classify').html(html);
    });
  }
});
// 筛选
$('#filtrate').on('click',function(){
   let categoriesId = $('#classify').val();
   let status = $('#status').val();
   let pageIndex = 1;
   let pageSize = 10;
   $.post('/getPostsByFilter',{categoriesId,status,pageIndex,pageSize},(res)=>{
     console.log(res);
    if(res.code == 200){
      let html = template('tp',res.data);
      $('tbody').html(html);
    }
   });
});

});